package com.glacier.excel.domain;

import java.io.Serializable;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.Arrays;

/**
 * date 2021-06-15 14:57
 *
 * @author glacier
 * @version 1.0
 */
public class ExcelPropertyMeta implements Serializable {
    private static final long serialVersionUID = 1513899945939488306L;
    private Field field;
    private Method methodGetter;
    private Method methodSetter;
    private String[] value;
    private String[] validate;
    private int index;
    private int order;
    private int width;
    private Class<?> converter;
    
    public static long getSerialVersionUID() {
        return serialVersionUID;
    }
    
    public Field getField() {
        return field;
    }
    
    public void setField(Field field) {
        this.field = field;
    }
    
    public Method getMethodGetter() {
        return methodGetter;
    }
    
    public void setMethodGetter(Method methodGetter) {
        this.methodGetter = methodGetter;
    }
    
    public Method getMethodSetter() {
        return methodSetter;
    }
    
    public void setMethodSetter(Method methodSetter) {
        this.methodSetter = methodSetter;
    }
    
    public String[] getValue() {
        return value;
    }
    
    public void setValue(String[] value) {
        this.value = value;
    }
    
    public String[] getValidate() {
        return validate;
    }
    
    public void setValidate(String[] validate) {
        this.validate = validate;
    }
    
    public int getIndex() {
        return index;
    }
    
    public void setIndex(int index) {
        this.index = index;
    }
    
    public int getOrder() {
        return order;
    }
    
    public void setOrder(int order) {
        this.order = order;
    }
    
    public int getWidth() {
        return width;
    }
    
    public void setWidth(int width) {
        this.width = width;
    }
    
    public Class<?> getConverter() {
        return converter;
    }
    
    public void setConverter(Class<?> converter) {
        this.converter = converter;
    }
    
    @Override
    public String toString() {
        return "ExcelPropertyMeta{" +
                "field=" + field.getName() +
                ", methodGetter=" + methodGetter +
                ", methodSetter=" + methodSetter +
                ", value=" + Arrays.toString(value) +
                ", validate=" + Arrays.toString(validate) +
                ", index=" + index +
                ", order=" + order +
                ", width=" + width +
                ", converter=" + converter +
                '}';
    }
}
